package anthology.daily_question._25_02;
//https://leetcode.cn/problems/valid-palindrome-ii/?envType=daily-question&envId=2025-02-03
public class _0680验证回文串2 {
    class Solution {
        public boolean validPalindrome(String s) {
            int i = 0;
            int j = s.length() - 1;
            while (i < j) {
                if (s.charAt(i) != s.charAt(j)) {
                    // 删除 s[i] 或者 s[j]
                    return isPalindrome(s, i + 1, j) || isPalindrome(s, i, j - 1);
                }
                i++;
                j--;
            }
            return true; // s 本身就是回文串
        }

        private boolean isPalindrome(String s, int i, int j) {
            while (i < j) {
                if (s.charAt(i) != s.charAt(j)) {
                    return false;
                }
                i++;
                j--;
            }
            return true;
        }
    }
}
